package com.xy.biz.xd.domain.req;

import com.xy.lang.validation.annotation.AlertMessage;
import com.xy.lang.validation.annotation.Validatable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@ApiModel("流程处理请求")
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class HandleDocumentFlowRequest {

    /**
     * 流程Id
     */
    @ApiModelProperty("流程Id")
    @NotNull
    private Long documentFlowId;
    /**
     * 处理意见
     */
    @ApiModelProperty("处理意见")
    private String opinion;
    /**
     * 处理结果
     */
    @ApiModelProperty("处理结果")
    private Integer result;
    /**
     * 处理节点
     */
    @ApiModelProperty("处理节点")
    private String phase;

    /**
     * 评审人用户Id
     */
    private List<Long> reviewUserIdList;

    /**
     * 下一个处理的用户Id
     */
    @ApiModelProperty("下一个处理的用户Id")
    @NotNull(message = "nextHandleUserIdRequired")
    @AlertMessage(code = "nextHandleUserIdRequired", msg = "下一个处理人不能为空")
    private Long nextHandleUserId;

}
